| API Documentation |  |

- MAIN PAGE
- NAMESPACES
- CLASSES

ShaderInstanceMemorySlot.h
1 // ShaderInstanceMemorySlot.h
3 //
5
6 namespace nkGraphics
7 {
13 class ShaderInstanceMemorySlot : public ShaderMemorySlot
14 {
15 public :
16
20 enum class DATA_TYPE
21 {
22 UNKNOWN = 0,
23 WORLD_MATRIX,
24 WORLD_MATRIX_INV_TRANSPOSE,
25 CUSTOM
26 } ;
27
28 public :
29
35 ShaderInstanceMemorySlot (System* system) noexcept ;
39 virtual ~ShaderInstanceMemorySlot () ;
40
41 // Getters
45 DATA_TYPE getType () const ;
49 nkMemory::StringView getSemanticName () const ;
53 virtual unsigned int getDataSize () const ;
57 virtual nkMemory::StringView getDataTypeAsString () const override ;
58
59 // Setters
79 void setAsWorldMatrix () ;
100 void setAsWorldMatrixInvTranspose () ;
106 void setAsCustom (ShaderInstanceCustomSlot* slot) ;
107
113 virtual void exportClassToTree (nkExport::Node* rootNode) override ;
119 virtual void importClassFromTree (nkExport::Node* rootNode) override ;
120 } ;
121 }
nkGraphics::ShaderInstanceMemorySlot::setAsWorldMatrixInvTranspose
void setAsWorldMatrixInvTranspose()
nkGraphics::ShaderMemorySlot
A memory slot in a memory resource.
Definition: ShaderMemorySlot.h:15
nkGraphics::ShaderInstanceMemorySlot::ShaderInstanceMemorySlot
ShaderInstanceMemorySlot(System *system) noexcept
nkGraphics::System
Main interface with the component system.
Definition: System.h:14
nkGraphics::ShaderInstanceMemorySlot::DATA_TYPE
DATA_TYPE
Definition: ShaderInstanceMemorySlot.h:21
nkGraphics::ShaderInstanceCustomSlot
A custom slot, implementable by external code.
Definition: ShaderInstanceCustomSlot.h:12
nkGraphics::ShaderInstanceMemorySlot::DATA_TYPE::CUSTOM
@ CUSTOM
Custom instance slot, coming from external code.
nkGraphics::ShaderInstanceMemorySlot::getDataTypeAsString
virtual nkMemory::StringView getDataTypeAsString() const override
nkExport::Node
A node in the tree structure representing the data to export / import.
Definition: Node.h:42
nkGraphics::ShaderInstanceMemorySlot::exportClassToTree
virtual void exportClassToTree(nkExport::Node *rootNode) override
nkGraphics::ShaderInstanceMemorySlot::DATA_TYPE::WORLD_MATRIX
@ WORLD_MATRIX
Instance's world matrix.
nkMemory::StringView
Class holding information about a string, with no ownership over the data.
Definition: StringView.h:22
nkGraphics::ShaderInstanceMemorySlot::setAsWorldMatrix
void setAsWorldMatrix()
nkGraphics::ShaderInstanceMemorySlot::~ShaderInstanceMemorySlot
virtual ~ShaderInstanceMemorySlot()
nkGraphics::ShaderInstanceMemorySlot::setAsCustom
void setAsCustom(ShaderInstanceCustomSlot *slot)
nkGraphics::ShaderInstanceMemorySlot::DATA_TYPE::WORLD_MATRIX_INV_TRANSPOSE
@ WORLD_MATRIX_INV_TRANSPOSE
Instance's world matrix, inversed and transposed.
nkGraphics::ShaderInstanceMemorySlot::getSemanticName
nkMemory::StringView getSemanticName() const
nkGraphics::ShaderInstanceMemorySlot::DATA_TYPE::UNKNOWN
@ UNKNOWN
Unknown place holder.
nkGraphics
Encompasses all API of component NilkinsGraphics.
Definition: BoundingBox.h:7
nkGraphics::ShaderInstanceMemorySlot::getType
DATA_TYPE getType() const
nkGraphics::ShaderInstanceMemorySlot::getDataSize
virtual unsigned int getDataSize() const
nkGraphics::ShaderInstanceMemorySlot::importClassFromTree
virtual void importClassFromTree(nkExport::Node *rootNode) override
nkGraphics::ShaderInstanceMemorySlot
A memory slot for per instance data in a Shader.
Definition: ShaderInstanceMemorySlot.h:14